package com.shixun.milktea.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.shixun.milktea.entity.Mt;
import com.shixun.milktea.entity.Swiper;
import com.shixun.milktea.mapper.MtMapper;
import com.shixun.milktea.service.MtService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.shixun.milktea.vo.PageVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author zrs
 * @since 2022-06-07
 */
@Service
public class MtServiceImpl extends ServiceImpl<MtMapper, Mt> implements MtService {
    @Autowired
    MtMapper mtMapper;


    /**
     * 模糊分页查询奶茶
     * @param pageVo
     * @param mtName
     * @return
     */
    @Override
    public Page<Mt> MtQueryList(PageVo pageVo,String mtName) {

        Page<Mt> page=new Page<>(pageVo.getPageNo()+1, pageVo.getPageSize());
        QueryWrapper<Mt> wrapper = new QueryWrapper<>();
        if (mtName==null||"".equals(mtName)){
          return mtMapper.selectPage(page,wrapper);
        }
        wrapper.like("mt_name",mtName);

        return mtMapper.selectPage(page,wrapper);

    }



    /**
     * 分页查询
     * @param pageVo
     * @return
     * @throws Exception
     */
    @Override
    public Page<Mt> selectPage(PageVo pageVo) throws Exception {
        Page<Mt> page=new Page<>(pageVo.getPageNo()+1, pageVo.getPageSize());
        QueryWrapper<Mt> qw=new QueryWrapper<>();
        return mtMapper.selectPage(page,qw);
    }

    /**
     * 上架
     * @param mtId
     * @return
     * @throws Exception
     */
    @Override
    public int updateMtStatusUp(int mtId) throws Exception {
        UpdateWrapper<Mt> objectUpdateWrapper = new UpdateWrapper<>();
        objectUpdateWrapper.eq("mt_id",mtId);
        objectUpdateWrapper.set("mt_shelves",1);
        int update = mtMapper.update(null, objectUpdateWrapper);
        return update;
    }

    @Override
    public int updateMtStatusDown(int mtId) throws Exception {
        UpdateWrapper<Mt> objectUpdateWrapper = new UpdateWrapper<>();
        objectUpdateWrapper.eq("mt_id",mtId);
        objectUpdateWrapper.set("mt_shelves",0);
        int update = mtMapper.update(null, objectUpdateWrapper);
        return update;
    }

    /**
     * 新品
     * @param mtId
     * @return
     * @throws Exception
     */
    @Override
    public int updateMtNewUp(int mtId) throws Exception {
        UpdateWrapper<Mt> objectUpdateWrapper = new UpdateWrapper<>();
        objectUpdateWrapper.eq("mt_id",mtId);
        objectUpdateWrapper.set("mt_new",1);
        int update = mtMapper.update(null, objectUpdateWrapper);
        return update;
    }

    @Override
    public int updateMtNewDown(int mtId) throws Exception {
        UpdateWrapper<Mt> objectUpdateWrapper = new UpdateWrapper<>();
        objectUpdateWrapper.eq("mt_id",mtId);
        objectUpdateWrapper.set("mt_new",0);
        int update = mtMapper.update(null, objectUpdateWrapper);
        return update;
    }


}
